热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

检出|地主_Git快速入门

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Git快速入门相关的知识,希望对你有一定的参考价值。Git1

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Git快速入门相关的知识,希望对你有一定的参考价值。



Git




1. 创建新仓库

创建新文件夹,打开后执行 git init 以创建新仓库。


2. 检出仓库

执行如下命令以创建一个本地仓库的克隆版本:

git clone /path/to/repository

如果是远程服务器上的仓库克隆到本地,执行如下命令:

git clone username@host:/path/tp/repository


3. 工作流

本地仓库由Git维护的"三棵树"组成:


  • 工作目录:其持有实际文件
  • 暂存区(index):更像是一个缓存区,临时保存你对文件改动
  • HEAD:它指向你最后一次的提交结果

4. 添加和提交

你可以提出更改(把他们提交到暂存区),使用如下git命令:

git add /git add *

提交到暂存区之后,使用以下命令提交实际改动到本地仓库:

git commit -m "提交时的注释信息"

此时所更改信息已经提交到HEAD,还没有提交到你的远端仓库


5. 推送改动

现在所有改动都在HEAD,执行以下命令以将这些改动提交到远端仓库:

git push origin master

可以将master替换为你想要推送的任何分支

如果说你还没有克隆现有仓库,但是你想把你的仓库连接到某个远程服务器,可以使用如下命令添加:

git remote add origin

这样就可以把改动推送到所添加的服务器上了


6. 分支

分支就是用来将特性开发绝缘开的,举个例子:

当我们开发的一款App已经上线,接下来的任务就是迭代功能开发,如果上线的App出现了一个Bug,这时要你放下手头的新功能开发去解决这个Bug,然后再发布一个新版本,如果你直接在新功能开发的项目上去直接更改显然是不现实的,所以这时就需要用的git的分支,检出当时发版时所用的版本进行修改即可,修改后分支切换回当前功能开发的分支就可。

Master是默认的主分支,在其他的分支上进行修改,然后提交改动合并到主分支。

创建一个分支举例:创建一个“feature_x”的分支,并切换过去:

git checkout -b feature_x

切换回主分支:

git checkout master

删除“feature_x”分支

git branch -d feature_x

除非将分支推送到远端,不然该分支就是不为他人所见的

git push origin


7. 更新与合并

要更新本地仓库的最新改动

git pull

在你的工作目录中获取(fetch)并合并(merge)远端的改动后,要合并其他分支到当前分支(master)的话:

git merge

以上两种情况,git都会去尝试自动合并并改动,这个时候可能就会出现一个问题:冲突

这个时候就需要你去修改这些文件来手动合并这些冲突。改完之后,你需要使用以下命令将他们标记为合并成功:

git add

在合并改动前,可使用如下命令预览差异:

git diff


8. 标签

在软件发布时,可以为该版本创建标签,你可以使用如下命令创建一个叫做1.0.0的标签

git tag 1.0.0 1b2eid63ff

1b2eid63ff是你想要标记的提交ID的前十位字符,可以使用如下命令获取ID:

git log

当然也可以选id的前几位使其看起来更简洁,但是选取的必须具有唯一指向性


9.替换本地改动

假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:
git checkout --
此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。

假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:
git fetch origin
git reset --hard origin/master

改动以及新文件都不会受到影响。

假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:
git fetch origin
git reset --hard origin/master


推荐阅读
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • LDAP服务器配置与管理
    本文介绍如何通过安装和配置SSSD服务来统一管理用户账户信息,并实现其他系统的登录调用。通过图形化交互界面配置LDAP服务器,确保用户账户信息的集中管理和安全访问。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • Git命令基础应用指南
    本指南详细介绍了Git命令的基础应用,包括如何使用`git clone`从远程服务器克隆仓库(例如:`git clone [url/path/repository]`)以及如何克隆本地仓库(例如:`git clone [local/path/repository]`)。此外,还提供了常见的Git操作技巧,帮助开发者高效管理代码版本。 ... [详细]
  • 本文详细介绍了在MySQL中如何高效利用EXPLAIN命令进行查询优化。通过实例解析和步骤说明,文章旨在帮助读者深入理解EXPLAIN命令的工作原理及其在性能调优中的应用,内容通俗易懂且结构清晰,适合各水平的数据库管理员和技术人员参考学习。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 本文深入探讨了 Git 与 SVN 的高效使用技巧,旨在帮助开发者轻松应对版本控制中的各种挑战。通过详细解析两种工具的核心功能与最佳实践,读者将能够更好地掌握版本管理的精髓,提高开发效率。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文详细介绍了如何在 Django 项目中使用 Admin 管理后台,包括创建超级用户、启动项目、管理数据模型和修改用户密码等步骤。 ... [详细]
author-avatar
淘气小顽童刘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有